package com.itlong.cloud.operate.dao;

import com.itlong.cloud.POJO.PO.ProjectPO;
import com.itlong.cloud.POJO.VO.operate.OperateGetProjectFinancePageVO;
import com.itlong.cloud.POJO.VO.operate.OperateSimpleFaceApplyInfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      运营-物业财务管理持久层接口
 * </desc>
 *
 * @createDate 2018/9/20
 */
@Mapper
@Repository
public interface IPropertyFinanceManageDao {

    /**
     * <desc>
     *      物业财务管理-分页获取项目信息
     * </desc>
     *
     * @param params 查询参数集
     * @return 查询结果集
     * @author wangzhi
     * @createDate 2018/09/20
     */
    List<OperateGetProjectFinancePageVO> getProjectFinancePage(Map<String, Object> params);

    /**
     * <desc>
     *      物业财务管理-获取项目信息总记录数
     * </desc>
     *
     * @param params 查询参数集
     * @return 记录数
     * @author wangzhi
     * @createDate 2018/09/20
     */
    Integer getProjectFinanceRecordCount(Map<String, Object> params);

    /**
     * <desc>
     *      获取所有项目信息
     * </desc>
     *
     * @param params 查询参数集
     * @return 项目信息列表
     * @author wangzhi
     * @createDate 2018/09/20
     */
    List<OperateGetProjectFinancePageVO> getProjectFinanceList(Map<String, Object> params);

    /**
     * <desc>
     *      财务启用或禁用项目
     * <desc/>
     *
     * @param map 参数集
     * @return 受影响的行数
     * @author wangzhi
     * @createDate 2018/10/24
     */
    Integer updateProject(Map<String,Object> map);

}
